package com.javasm.springmybatis.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @Author：longjinyi
 * @Version：1.0
 * @Date：2021/12/29-20:42
 * @Since:jdk1.8
 * @Description:
 */
//访问/跳转到登录页面做法:
//第二种方式：
//写个mvc配置类
@Configuration //标注注解下面的这个类是一个配置类

//注意：这里实现了WebMvcConfigurer接口，但是它里面的方法不强制要求重写，说明它里面的方法是可以根据需求来选择想要的方法进行重写
//这是java8的一种写法，拦截器那里也遇到这种情况。
public class MVCConfig implements WebMvcConfigurer {

    //将修饰符default改成public
    //为什么要写这个 @Override 的，我们这块不写 @Override 行不行？
    //@Override是对addViewControllers方法的检测，也表示对MVCConfig类的父类的方法的重写，既然是重写，那么MVCConfig类重写的方法名就要和
    //父类被重写的方法名相同，不然编译爆红
    //接口是实现类的超类，也即父类。
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        //第一个参数：要拦截的请求
        //第二个参数：重定向要跳转的页面
        registry.addRedirectViewController("/", "login.html");
    }
}
